﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

//骆驼命名法
//https://www.nowcoder.com/questionTerminal/aed1c7bbc2604e7c9661a2348b0541b8?pos=46&mutiTagIds=579
//int main() {
//    string str;
//    while (getline(cin, str)) {
//        string ret;
//        ret.reserve(str.size());
//        bool flag = false;
//        for (const auto& ch : str)
//        {
//            if (flag)
//            {
//                ret.push_back(ch - 32);
//                flag = false;
//                continue;
//            }
//            if (ch == '_') flag = true;
//            else ret.push_back(ch);
//        }
//        cout << ret << endl;
//    }
//}

//单词倒排
//https://www.nowcoder.com/questionTerminal/81544a4989df4109b33c2d65037c5836
//int main() {
//    string str;
//    while (getline(cin, str)) {
//        string ret;
//        string tmp;
//        ret.reserve(str.size());
//        for (int i = str.size() - 1; i >= 0; --i)
//        {
//            char ch = str[i];
//            if ((ch >= 'A' && ch <= 'Z')
//                || ch >= 'a' && ch <= 'z')
//                tmp.push_back(ch);
//            else
//            {
//                reverse(tmp.begin(), tmp.end());
//                ret += tmp + ' ';
//                tmp.clear();
//            }
//        }
//        reverse(tmp.begin(), tmp.end());
//        ret += tmp;
//        cout << ret << endl;
//    }
//}